1. Technical Field
The present invention relates generally to the field of virtualized systems, and more particularly to a method of dynamically allocating network adapter queue pairs to logical partitions in a virtualized system.
2. Description of the Related Art
Among the current trends in computer technology are increasing numbers of processors in a single computer system and higher Ethernet line speeds. At current high line speeds, information can be supplied to a single processing unit much faster than the unit can handle the information. In order to take increase the efficiency at which information may be handled, technology known as receive side scaling has been developed to provide parallel processing of incoming data streams across multiple central processing units (CPUs).
Generally, receive side scaling enables packets from a single network adapter to be processed in parallel on multiple CPUs while preserving in-order delivery to TCP connections. A receive side scaling component in the network adapter filters the incoming data stream using various hash algorithms into processing engines or queue pairs. Each queue pair comprises a transmit queue and receive queue. The more queue pairs in use, the higher the system performance.
Another current trend is server virtualization, in which multiple virtual machines or logical partitions operate on single host machine. In virtualized systems, the adapter and its physical ports are controlled by a hypervisor or virtualization layer and logical ports are controlled by the logical partition's operating system. Currently, there is no mechanism for reallocating queue pairs among logical partitions without restarting the affected logical partitions.